Activity değiştiğinde Textview Value Nasıl Saklanır?
Merhaba.
Bir Tesbih programı yazıyorum. Butona tıklandığında Textview değeri sayısal olarak birer birer değişiyor.
Bu değer, program kapandığında ya da activity değiştiğinde kaybolmasın istiyorum. Kullanıcı bu activity'e geri döndüğünde tesbihe kaldığı sayıdan devam etsin.
Yine bu activity'de bir tane de Reset butonu var. Tesbihi sıfırlamak için. Buna basınca da bu saklanan değerin sıfırlanmasını istiyorum.
Sanırım Shared Preferences kullanılacak. Ama kodları tam oturtamadım.
Sizce nasıl olmalı?
Şimdiden teşekkür ederim.
Kodlar aşağıdadır.
[code]
short a = 1000;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
Button btnAzalt = (Button) findViewById(R.id.btnAzalt);
Button btnReset = (Button) findViewById(R.id.btnSifirla);
btnAzalt.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View v) {
// TODO Auto-generated method stub
tesbih();
}
});
btnResetOnClickListener(new OnClickListener() {
@Override
public void onClick(View v) {
// TODO Auto-generated method stub
alertMessage();
}
});
public void alertMessage() {
DialogInterface.OnClickListener dialogClickListener = new DialogInterface.OnClickListener() {
public void onClick(DialogInterface dialog, int which) {
switch (which) {
case DialogInterface.BUTTON_POSITIVE:
// Yes button clicked
TextView Gosterge = (TextView) findViewById(R.id.txtGosterge);
Gosterge.setText("1000");
a = 1000;
break;
case DialogInterface.BUTTON_NEGATIVE:
// No button clicked
// do nothing
Toast.makeText(MainActivity.this,
"Continue! / Devam Ediliyor!", Toast.LENGTH_LONG)
.show();
break;
}
}
};
AlertDialog.Builder builder = new AlertDialog.Builder(this);
builder.setMessage("RESET / Tesbih Sıfırlansın mı?")
.setPositiveButton("YES / EVET", dialogClickListener)
.setNegativeButton("NO / HAYIR", dialogClickListener).show();
}
public void tesbih() {
try {
short sonuc = (short) (a - 1);
TextView Gosterge = (TextView) findViewById(R.id.txtGosterge);
Gosterge.setGravity(Gravity.CENTER_VERTICAL
| Gravity.CENTER_HORIZONTAL);
Gosterge.setText(String.valueOf(sonuc));
a = (short) (a - 1);
} catch (Exception e) {
// TODO: handle exception
e.printStackTrace();
}
}
[/code]